package weaver.splittable.biz;

import weaver.splittable.modal.STInterceptResult;

public interface STBizInterceptor {

    /**
     * 拦截器初始化方法，分表组件启动时会调用次方法
     */
    public void init();

    /**
     * 判断是否需要拦截此SQL
     * 注意：此方法每次SQL执行都要调用，注意性能
     * @param sql 待执行SQL
     * @return
     */
    public boolean needIntercept(String sql);

    /**
     * 拦截SQL 处理后返回新的SQL
     * @param sql 待执行SQL
     * @return 新SQL
     */
    public STInterceptResult intercept(String sql);



}
